Task 异步执行
1.  异步任务的实现过于复杂，所以使用folktale 中的task来演示
2.  folktale 一个标准的函数式变成库
    2.1 和lodash、ramda不同的是，他没有提供很多功能函数
    2.2 只提供了一些函数式处理的操作，例如：compose、curry等 ，一些函子Task、Either、Maybe等


const {compose, curry}  = require('folktale/core/lambda')
const {toUpper, first} = require('lodash/fp')

let f = curry(2, (x,y) => {
  return x + y
})

console.log(f(1,2))
console.log(f(1)(2))

let f = compose(toUpper, first)
console.log(f['one', 'two']) // ONE